package com.koron.css2.newProjectCenter.bean;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.koron.css2.baseConfig.bean.BaseBean;
import com.koron.css2.clientCenter.bean.AccountInfoBean;
import org.apache.commons.lang3.StringUtils;

import javax.persistence.Transient;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 用户工程 2.1 版本
 *
 * @author 59532
 * @version 2.1
 * @since today
 */
public class PjInfoBean extends BaseBean implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 竣工验收阶段对应的施工单位
     */
    private String constructionCompanyForCheck;

    /**
     * 工程收款阶段对应的尾款
     */
    private Double prepaymentAmountForEnd;

    /**
     * 工程收款阶段对应的费用种类
     */
    private Integer costTypeForEnd;

    /**
     * 工程收款阶段对应的开票种类id
     */
    private Integer invoiceTypeForEnd;

    /**
     * 现场勘查情况说明
     */
    private String remarkForSite;

    /**
     * 预付款
     */
    private Double prepaymentAmount;

    /**
     * 费用种类id
     */
    private Integer costType;

    /**
     * 开票种类id
     */
    private Integer invoiceType;

    public String getRemarkForSite() {
        return remarkForSite;
    }

    public void setRemarkForSite(String remarkForSite) {
        this.remarkForSite = remarkForSite;
    }

    /**
     * 预估成本
     */
    private Double estimateCost;

    /**
     * 实际成本
     */
    private Double actualCost;

    public Double getEstimateCost() {
        return estimateCost;
    }

    public void setEstimateCost(Double estimateCost) {
        this.estimateCost = estimateCost;
    }

    public Double getActualCost() {
        return actualCost;
    }

    public void setActualCost(Double actualCost) {
        this.actualCost = actualCost;
    }

    /**
     * 施工单位
     */
    private String constructionCompany;

    /**
     * 建设单位
     */
    private String developmentCompany;


    /**
     * 单位工程总合计
     */
    private Double unitTotalCost;

    /**
     * 单位工程费
     */
    private Double unitEngineeringCost;

    /**
     * 单位设计费
     */
    private Double unitDesignCost;

    /**
     * 红线外总合计
     */
    private Double outsideRedLineTotalCost;

    /**
     * 红线外工程费
     */
    private Double outsideRedLineEngineeringCost;

    /**
     * 含水表材料费
     */
    private Double inclusiveWaterMeterMaterialCost;

    /**
     * 红线外设计费
     */
    private Double outsideRedLineEditCost;

    /**
     * 红线内总合计
     */
    private Double insideRedLineTotalCost;

    /**
     * 红线内工程费
     */
    private Double insideRedLineEngineeringCost;

    /**
     * 含行政手续费
     */
    private Double inclusiveAdministrativeFee;

    /**
     * 红线内设计费
     */
    private Double insideRedLineEditCost;

// Getter and Setter methods with validation logic

    public Double getUnitTotalCost() {
        return unitTotalCost;
    }

    public void setUnitTotalCost(Double unitTotalCost) {
        if (unitTotalCost != null && unitTotalCost < 0) {
            throw new IllegalArgumentException("unitTotalCost must be greater than or equal to 0");
        }
        this.unitTotalCost = unitTotalCost;
    }

    public Double getUnitEngineeringCost() {
        return unitEngineeringCost;
    }

    public void setUnitEngineeringCost(Double unitEngineeringCost) {
        if (unitEngineeringCost != null && unitEngineeringCost < 0) {
            throw new IllegalArgumentException("unitEngineeringCost must be greater than or equal to 0");
        }
        this.unitEngineeringCost = unitEngineeringCost;
    }

    public Double getUnitDesignCost() {
        return unitDesignCost;
    }

    public void setUnitDesignCost(Double unitDesignCost) {
        if (unitDesignCost != null && unitDesignCost < 0) {
            throw new IllegalArgumentException("unitDesignCost must be greater than or equal to 0");
        }
        this.unitDesignCost = unitDesignCost;
    }

    public Double getOutsideRedLineTotalCost() {
        return outsideRedLineTotalCost;
    }

    public void setOutsideRedLineTotalCost(Double outsideRedLineTotalCost) {
        if (outsideRedLineTotalCost != null && outsideRedLineTotalCost < 0) {
            throw new IllegalArgumentException("outsideRedLineTotalCost must be greater than or equal to 0");
        }
        this.outsideRedLineTotalCost = outsideRedLineTotalCost;
    }

    public Double getOutsideRedLineEngineeringCost() {
        return outsideRedLineEngineeringCost;
    }

    public void setOutsideRedLineEngineeringCost(Double outsideRedLineEngineeringCost) {
        if (outsideRedLineEngineeringCost != null && outsideRedLineEngineeringCost < 0) {
            throw new IllegalArgumentException("outsideRedLineEngineeringCost must be greater than or equal to 0");
        }
        this.outsideRedLineEngineeringCost = outsideRedLineEngineeringCost;
    }

    public Double getInclusiveWaterMeterMaterialCost() {
        return inclusiveWaterMeterMaterialCost;
    }

    public void setInclusiveWaterMeterMaterialCost(Double inclusiveWaterMeterMaterialCost) {
        if (inclusiveWaterMeterMaterialCost != null && inclusiveWaterMeterMaterialCost < 0) {
            throw new IllegalArgumentException("inclusiveWaterMeterMaterialCost must be greater than or equal to 0");
        }
        this.inclusiveWaterMeterMaterialCost = inclusiveWaterMeterMaterialCost;
    }

    public Double getOutsideRedLineEditCost() {
        return outsideRedLineEditCost;
    }

    public void setOutsideRedLineEditCost(Double outsideRedLineEditCost) {
        if (outsideRedLineEditCost != null && outsideRedLineEditCost < 0) {
            throw new IllegalArgumentException("outsideRedLineEditCost must be greater than or equal to 0");
        }
        this.outsideRedLineEditCost = outsideRedLineEditCost;
    }

    public Double getInsideRedLineTotalCost() {
        return insideRedLineTotalCost;
    }

    public void setInsideRedLineTotalCost(Double insideRedLineTotalCost) {
        if (insideRedLineTotalCost != null && insideRedLineTotalCost < 0) {
            throw new IllegalArgumentException("insideRedLineTotalCost must be greater than or equal to 0");
        }
        this.insideRedLineTotalCost = insideRedLineTotalCost;
    }

    public Double getInsideRedLineEngineeringCost() {
        return insideRedLineEngineeringCost;
    }

    public void setInsideRedLineEngineeringCost(Double insideRedLineEngineeringCost) {
        if (insideRedLineEngineeringCost != null && insideRedLineEngineeringCost < 0) {
            throw new IllegalArgumentException("insideRedLineEngineeringCost must be greater than or equal to 0");
        }
        this.insideRedLineEngineeringCost = insideRedLineEngineeringCost;
    }

    public Double getInclusiveAdministrativeFee() {
        return inclusiveAdministrativeFee;
    }

    public void setInclusiveAdministrativeFee(Double inclusiveAdministrativeFee) {
        if (inclusiveAdministrativeFee != null && inclusiveAdministrativeFee < 0) {
            throw new IllegalArgumentException("inclusiveAdministrativeFee must be greater than or equal to 0");
        }
        this.inclusiveAdministrativeFee = inclusiveAdministrativeFee;
    }

    public Double getInsideRedLineEditCost() {
        return insideRedLineEditCost;
    }

    public void setInsideRedLineEditCost(Double insideRedLineEditCost) {
        if (insideRedLineEditCost != null && insideRedLineEditCost < 0) {
            throw new IllegalArgumentException("insideRedLineEditCost must be greater than or equal to 0");
        }
        this.insideRedLineEditCost = insideRedLineEditCost;
    }


    /**
     * 查勘人
     */
    private String surveyor;

    public String getSurveyor() {
        return surveyor;
    }

    public void setSurveyor(String surveyor) {
        this.surveyor = surveyor;
    }

    /**
     * 是否开票
     */
    private Integer isInvoice;



    /**
     * 备注
     */
    private String remark;

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }



    // 工程类型 1 为居民
    public static final String PJ_TYPE_1 = "1";

    // 工程类型 5 为企业
    public static final String PJ_TYPE_5 = "5";

    /**
     * 工程编号
     */
    private String billNo;
    /**
     * 工程申请日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date billDate;
    /**
     * 工程类型
     */
    private String pjType;
    /**
     * 经办人
     */
    private String agentMan;

    /**
     * 经办人电话
     */
    private String agentLinkTel;
    /**
     * 经办人证件类型
     */
    private String agentCertType;
    /**
     * 经办人证件号码
     */
    private String agentCertNo;
    /**
     * 临时客户表ID
     */
    private String userCtmTempId;
    /**
     * 临时账户表ID
     */
    private String userAccountTempId;
    /**
     * 营业所
     */
    private String businessAbode;
    /**
     * 营业区域
     */
    private String businessArea;
    /**
     * 行政区域
     */
    private String adminArea;
    /**
     * 紧急程度
     */
    private String urgentFlag;
    /**
     * 原户号
     */
    private String oloUserNo;
    /**
     * 总表户号
     */
    private String suserNo;
    /**
     * 总表户号2
     */
    private String suserNo2;
    /**
     * 用水期
     */
    private String limitFlag;
    /**
     * 用水期限
     */
    @JsonFormat(pattern = "yyyyMM", timezone = "GMT+8")
    @JSONField(format = "yyyyMM", name = "limitDate")
    private Date limitDate;
    /**
     * 装表地址
     */
    private String installAddr;
    /**
     * 申请数量
     */
    private Integer installAmount;
    /**
     * 信息来源
     */
    private String sourceFlag;
    /**
     * 备注
     */
    private String comments;
    /**
     * 工程名称
     */
    private String pjName;
    /**
     * 需要办破路手续
     */
    private Integer branchRoadFlag;
    /**
     * 超标高
     */
    private Integer exceedHigh;
    /**
     * 勘察人员
     */
    private String surveyStaff;
    /**
     * 勘察邀约日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date surveyInviteDate;
    /**
     * 勘察邀约人员
     */
    private String surveyInviteStaff;
    /**
     * 勘察日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date surveyDate;
    /**
     * 勘察结论
     */
    private String surveyResult;
    /**
     * 水表施工勘察人员
     * */
    private String installStaff;
    /**
     * 设计人员
     */
    private String designStaff;
    /**
     * 设计日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date designDate;
    /**
     * 设计说明
     */
    private String designDesc;

    /**
     * 表前材料费预算
     */
    private Double budgetMatrMeterBefore;
    /**
     * 表前人工费预算
     */
    private Double budgetLaborMeterBefore;
    /**
     * 表后材料费预算
     */
    private Double budgetMatrMeterAfter;
    /**
     * 表后人工费预算
     */
    private Double budgetLaborMeterAfter;
    /**
     * 预算费
     */
    private Double budgetCost;
    /**
     * 设计费
     */
    private Double designCost;
    /**
     * 预算合计
     */
    private Double budgetMoney;
    /**
     * 押金
     */
    private Double depositMoney;
    /**红线内费用*/
    private Double redLineInMoney;
    /**器具费用*/
    private Double utensilMoney;
    /**红线外费用*/
    private Double redLineOutMoney;
    /**
     * 表前预算
     */
    private Double budgetMeterBefore;
    /**
     * 表后预算
     */
    private Double budgetMeterAfter;
    /**
     * 其它预算
     */
    private Double budgetOther;
    /**
     * 结算方式
     */
    private String prepayType;
    /**
     * 预算编制人员
     */
    private String budgetStaff;
    /**
     * 预算编制日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date budgetDate;
    /**
     * 预算编制说明
     */
    private String budgetComments;

    /**
     * 流程实例ID
     */
    private String processInstanceId;
    /**
     * 流程状态
     */
    private String processState;
    /**
     * 流程终止时的状态
     */
    private String processStateTerminated;
    /**
     * 流程名称
     */
    private String processName;
    /**
     * 当前处理人
     */
    private String processHandleMan;
    /**
     * 统一社会信用代码
     */
    private String creditCode;
    /**
     * 小区名称
     */
    private String cellName;
    /**
     * 估计月用水量
     */
    private Integer predictWater;
    /**
     * 微厅OPENID
     */
    private String wxOpenId;
    /**
     * 网厅账号
     */
    private String wtAccount;
    /***/
    private Integer budgetPayWay;
    private String budgetPayWayName;
    /***/
    private String budgetPayStaff;
    /***/
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date budgetPayDate;
    /***/
    private String budgetPayComments;
    /**
     * 实收金额
     */
    private Double actuallyReceived;
    /***/
    private String channelsOfOrigin;

    private String projectCharge;

    private String projectChargeName;

    /**
     * 施工主体
     */
    private String constructionUnit;

    /**
     * 法人身份证号码
     */
    private String legalPersonCertNo;
    /**
     * 工程性质
     */
    private String pjNature;
    /**
     * 装表个数
     */
    private Integer meterNum;
    /**
     * 结算公司
     */
    private String departBelong;
    /**
     * 是否满足施工条件，0否，1是
     */
    private Integer workFlag;
    /**
     * 是否需要设计，0否，1是
     */
    private Integer designFlag;
    /**
     * 派单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date sendOrderDate;
    /**
     * 施工人员（儋州水司用来计算施工人员提成）
     */
    private String constGroup;

    /**
     * 施工人员（儋州水司用来计算施工人员提成）
     */
    private String constGroupName;
    /**
     * 开始施工日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date constBeginDate;
    /**
     * 结束施工日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date constEndDate;

    /**
     * 新结束施工日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date newConstEndDate;

    /**
     * 施工说明
     */
    private String constComments;

    /**
     * 通水时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date wateringTime;

    /**
     * 验收邀约人员
     */
    private String checkInviteStaff;

    /**
     * 验收邀约人员名称
     */
    private String checkInviteStaffName;

    /**
     * 验收邀约时间
     */
    private String checkInviteDate;

    /**
     * 验收说明
     */
    private String checkDesc;

    /**
     * 工程税率比例(儋州水司)
     */
    private Double pjRate;
    /**
     * 材料费用提成比例(儋州水司)
     */
    private Double matrRate;
    /**
     * 人工费用提成比例(儋州水司)
     */
    private Double wordRate;
    /**
     * 材料费用提成(儋州水司)
     */
    private Double matrCharge;
    /**
     * 人工费用提成(儋州水司)
     */
    private Double workCharge;
    /**
     * 费用提成(儋州水司)
     */
    private Double sumCharge;
    /**
     * 表前材料费结算
     */
    private Double setmtMatrMeterBefore;
    /**
     * 表前人工费结算
     */
    private Double setmtLaborMeterBefore;
    /**
     * 表后材料费结算
     */
    private Double setmtMatrMeterAfter;
    /**
     * 表后人工费结算
     */
    private Double setmtLaborMeterAfter;
    /**
     * 预算费结算
     */
    private Double setmtBudgetCost;
    /**
     * 设计费结算
     */
    private Double setmtDesignCost;
    /**
     * 工程造价
     */
    private Double constructionCost;
    /**
     * 总管分摊费用
     */
    private Double costShare;
    /**
     * 是否需要计算预算费结算
     */
    private Integer setmtBudgetCostFlag;
    /**
     * 是否需要计算设计费结算
     */
    private Integer setmtDesignCostFlag;
    /**
     * 是否需要退回押金
     */
    private Integer depositBackFlag;

    /**
     * 结算合计
     */
    private Double setmtMoney;
    /**
     * 累计金额
     */
    private Double accruedMoney;
    /**
     * 退补金额
     */
    private Double backFillMoney;
    /**
     * 结算编制人员
     */
    private String setmtStaff;
    /**
     * 结算编制日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date setmtDate;
    /**
     * 结算编制说明
     */
    private String setmtComments;
    /**
     * 收款方式
     */
    private String setmtPayWay;
    /**
     * 结算收款人员
     */
    private String setmtPayStaff;
    /**
     * 结算收款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date setmtPayDate;
    /**
     * 结算说明
     */
    private String setmtPayComments;
    /**
     * 余款退款方式
     */
    private String refundWay;
    /**
     * 开户银行
     */
    private String bankName;
    /**
     * 开户名称
     */
    private String bankAccountName;
    /**
     * 银行账号
     */
    private String bankAccount;
    /**
     * 延期天数
     */
    private Integer delayDays;
    /**
     * 完工日期
     */
    private String completionDate;
    /**
     * 临时表ID
     */
    private String tempId;
    /**
     * 锁标记
     */
    private Integer lockFlag;
    /**
     * 表前管长
     */
    private String beforeMeterLength;
    private String agentCertTypeName;
    private String prepayTypeName;

    /**
     * 安装施工人员
     */
    private String installStaffName;
    private String surveyStaffName;
    private String designStaffName;
    private String budgetStaffName;
    private String budgetPayStaffName;
    private Double prepayMoney;
    private String pjTypeName;
    private String urgentFlagName;
    private String sourceFlagName;
    private String limitFlagName;
    private String adminAreaName;
    private String businessAreaName;
    private String businessAbodeName;
    /**
     * 水表口径
     */
    private String meterBore;
    /**
     * 水表口径
     */
    private String meterBoreName;

    /**
     * 电子签名url
     */
    @JsonProperty(value = "eSignatureUrl")
    private String eSignatureUrl;

    /**
     * 表记挂接时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meterHookDate;

    /**
     * 表记挂接备注
     */
    private String meterHookComment;

    /**
     * 编制结算标志：0-未结算；1-已结算
     */
    private Integer settlementFlag;

    /**
     * 一次性收费标志:0否，1是
     */
    private Integer disposableChargeFlag;

    /**
     * 红线外施工:0-不需要，1-需要
     */
    private Integer redLineConstruction;

    /**
     * 红线外施工:0-不需要，1-需要
     */
    private String redLineConstructionName;

    /**
     * 终止标记：0-未终止；1-已终止
     */
    private Integer terminationFlag;

    /**
     * 立户驳回标志：1-已驳回
     */
    private Integer registerAccountRejectFlag;

    /**
     * 是否处于延期标志：0-未延期；1-已延期
     */
    private Integer delayFlag;

    /**
     * 是否已延期：0-未延期；1-已延期
     */
    private Integer delayState;

    /**
     * 是否超期 0-未超期 1-已超期
     */
    private Integer timeOutFlag;

    /**
     * 驳回状态标志：1-驳回，2-二次提交
     */
    private Integer overruleFlag;

    /**
     * 驳回理由
     */
    private String rejectionReason;

    /**
     * 挂起状态
     */
    private Integer pendingState;

    /**
     * 以下为业务字段
     */

    /**
     * 附件标识（1：未新增）
     */
    private Integer insertFlag;

    /**
     * 验收子项
     */
    private List<PjCheckInfoBean> checkInfo;

    /**
     * 账户信息列表，主要用于工程结算余额分配保存
     */
    private List<AccountInfoBean> accountInfoList = new ArrayList<>();

    //是否上传工建0否，1是
    private String isUploadWorkBuild;

    /**
     * 预算编号
     */
    private String budgetNo;

    /**
     * 预算人员
     */
    private String budgetPerson;
    /**
     * 计划完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planTime;

    /**
     * 计划工时
     */
    private int planSum;

    /**
     * 已用时
     */
    private int usedSum;
    /**
     * 工作日天数
     */
    private Integer workDays;
    /**
     * 工作日小时数
     */
    private  Integer workHours;

    /**
     * 施工合同编号
     */
    private String contractNo;

   /*总费用*/
    private String  totalCost;
    /*承担费用*/
    private String bearCost;
    /*不承担费用*/
    private String  noBearCost;

    /**
     *设计类型:0自行设计1委外设计
     */

    private Integer designType;
    /**
     *设计类型:0自行设计1委外设计
     */
    @Transient
    private String designTypeName;

    /*
     * 开挖方式 市政道路开挖、市政绿化开挖、非开挖、穿河
     * */
    private String excavationMethod;

    /*
     * 施工费
     * */
    private Double implementProjectCost;

    /*
     * 机具费
     * */
    private Double equipmentCost;
    /*
     *主材费
     * */
    private Double mainMaterialCost;
    /*
     * 辅材费
     * */
    private Double auxiliaryMaterialCost;
    /*
     * 施工设计费
     * */
    private Double  constructionDesignCost;

    /*
     * 其他费用
     * */
    private Double otherCosts;
    /*
     *设计费
     **/
    private Double  designFee;
    /*资料先后*/
    private String dataSequence;
    /*固定电话*/
    private String fixedPhone;
    /*开户银行*/
    private String openAccountBank;
    /*是否具有营商环境考察 1是 2否*/
    private Integer businessEnvironment;

    /*负责人*/
    private String responsiblePerson;

    /*联系电话*/
    private String contactNumber;

    /*开工日期*/
    private String startDate;


    public Boolean getHasCompleted() {
        return hasCompleted;
    }

    public void setHasCompleted(Boolean hasCompleted) {
        this.hasCompleted = hasCompleted;
    }

    /*是否竣工*/
    private Boolean hasCompleted;


    /*当前进度*/
    private String currentProgress;

    /* 进度日期*/
    private String progressDate;

    /*  施工*/
    private String  construction;

    /*  验收人*/
    private String  inspector;

    /*  验收日期*/
    private String  inspectionDate;

    /*  验收结果*/
    private String  inspectionResult;

    /*  手续*/
    private String procedure;

    /*  手续*/
    private String inspectionDescription ;// 验收情况说明


    private Double settlementTotalAmount;// 结算总金额：

    private Double  settlementEngineeringFee;//结算工程费：

    private Double  settlementDesignFee;//结算设计费：


    /*  竣工日期 */
    private String completionScheduled;

    public String getCompletionScheduled() {
        return completionScheduled;
    }

    public void setCompletionScheduled(String completionScheduled) {
        this.completionScheduled = completionScheduled;
    }

    public Double getSettlementTotalAmount() {
        return settlementTotalAmount;
    }

    public void setSettlementTotalAmount(Double settlementTotalAmount) {
        this.settlementTotalAmount = settlementTotalAmount;
    }

    public Double getSettlementEngineeringFee() {
        return settlementEngineeringFee;
    }

    public void setSettlementEngineeringFee(Double settlementEngineeringFee) {
        this.settlementEngineeringFee = settlementEngineeringFee;
    }

    public Double getSettlementDesignFee() {
        return settlementDesignFee;
    }

    public void setSettlementDesignFee(Double settlementDesignFee) {
        this.settlementDesignFee = settlementDesignFee;
    }

    public String getResponsiblePerson() {
        return responsiblePerson;
    }

    public void setResponsiblePerson(String responsiblePerson) {
        this.responsiblePerson = responsiblePerson;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getCurrentProgress() {
        return currentProgress;
    }

    public void setCurrentProgress(String currentProgress) {
        this.currentProgress = currentProgress;
    }

    public String getProgressDate() {
        return progressDate;
    }

    public void setProgressDate(String progressDate) {
        this.progressDate = progressDate;
    }

    public String getConstruction() {
        return construction;
    }

    public void setConstruction(String construction) {
        this.construction = construction;
    }

    public String getInspector() {
        return inspector;
    }

    public void setInspector(String inspector) {
        this.inspector = inspector;
    }

    public String getInspectionDate() {
        return inspectionDate;
    }

    public void setInspectionDate(String inspectionDate) {
        this.inspectionDate = inspectionDate;
    }

    public String getInspectionResult() {
        return inspectionResult;
    }

    public void setInspectionResult(String inspectionResult) {
        this.inspectionResult = inspectionResult;
    }

    public String getProcedure() {
        return procedure;
    }

    public void setProcedure(String procedure) {
        this.procedure = procedure;
    }

    public String getInspectionDescription() {
        return inspectionDescription;
    }

    public void setInspectionDescription(String inspectionDescription) {
        this.inspectionDescription = inspectionDescription;
    }

    public Double getConstructionDesignCost() {
        return constructionDesignCost;
    }

    public void setConstructionDesignCost(Double constructionDesignCost) {
        this.constructionDesignCost = constructionDesignCost;
    }


    public Integer getBusinessEnvironment() {
        return businessEnvironment;
    }

    public void setBusinessEnvironment(Integer businessEnvironment) {
        this.businessEnvironment = businessEnvironment;
    }

    public String getOpenAccountBank() {
        return openAccountBank;
    }

    public void setOpenAccountBank(String openAccountBank) {
        this.openAccountBank = openAccountBank;
    }

    public String getFixedPhone() {
        return fixedPhone;
    }

    public void setFixedPhone(String fixedPhone) {
        this.fixedPhone = fixedPhone;
    }

    public String getDataSequence() {
        return dataSequence;
    }

    public void setDataSequence(String dataSequence) {
        this.dataSequence = dataSequence;
    }

    public String getExcavationMethod() {
        return excavationMethod;
    }

    public void setExcavationMethod(String excavationMethod) {
        this.excavationMethod = excavationMethod;
    }

    public Double getImplementProjectCost() {
        return implementProjectCost;
    }

    public void setImplementProjectCost(Double implementProjectCost) {
        this.implementProjectCost = implementProjectCost;
    }

    public Double getEquipmentCost() {
        return equipmentCost;
    }

    public void setEquipmentCost(Double equipmentCost) {
        this.equipmentCost = equipmentCost;
    }

    public Double getMainMaterialCost() {
        return mainMaterialCost;
    }

    public void setMainMaterialCost(Double mainMaterialCost) {
        this.mainMaterialCost = mainMaterialCost;
    }

    public Double getAuxiliaryMaterialCost() {
        return auxiliaryMaterialCost;
    }

    public void setAuxiliaryMaterialCost(Double auxiliaryMaterialCost) {
        this.auxiliaryMaterialCost = auxiliaryMaterialCost;
    }

    public Double getDesignFee() {
        return designFee;
    }

    public void setDesignFee(Double designFee) {
        this.designFee = designFee;
    }

    public Integer getDesignType() {
        return designType;
    }

    public void setDesignType(Integer designType) {
        this.designType = designType;
    }

    public String getDesignTypeName() {
        return designTypeName;
    }

    public void setDesignTypeName(String designTypeName) {
        this.designTypeName = designTypeName;
    }

    public String getTotalCost() {
        return totalCost;
    }

    public void setTotalCost(String totalCost) {
        this.totalCost = totalCost;
    }

    public String getBearCost() {
        return bearCost;
    }

    public void setBearCost(String bearCost) {
        this.bearCost = bearCost;
    }

    public String getNoBearCost() {
        return noBearCost;
    }

    public void setNoBearCost(String noBearCost) {
        this.noBearCost = noBearCost;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Date getWateringTime() {
        return wateringTime;
    }

    public void setWateringTime(Date wateringTime) {
        this.wateringTime = wateringTime;
    }

    public List<AccountInfoBean> getAccountInfoList() {
        return accountInfoList;
    }

    public void setAccountInfoList(List<AccountInfoBean> accountInfoList) {
        this.accountInfoList = accountInfoList;
    }

    public String getBudgetPerson() {
        return budgetPerson;
    }

    public void setBudgetPerson(String budgetPerson) {
        this.budgetPerson = budgetPerson;
    }

    public String getBudgetNo() {
        return budgetNo;
    }

    public void setBudgetNo(String budgetNo) {
        this.budgetNo = budgetNo;
    }

    public String getIsUploadWorkBuild() {
        return isUploadWorkBuild;
    }

    public void setIsUploadWorkBuild(String isUploadWorkBuild) {
        this.isUploadWorkBuild = isUploadWorkBuild;
    }

    /**
     * 工建数据推送状态
     */
    public int gcjsStatic;
    private String   budgetType;

    public String getBudgetType() {
        return budgetType;
    }

    public void setBudgetType(String budgetType) {
        this.budgetType = budgetType;
    }
    /**
     * 工程结算余额分配方式
     */
    private String  balanceAllocWay;


    public String getBalanceAllocWay() {
        if(StringUtils.isBlank(balanceAllocWay)){
            return "0";
        }
        return balanceAllocWay;
    }

    public void setBalanceAllocWay(String balanceAllocWay) {
        this.balanceAllocWay = balanceAllocWay;
    }

    public String getSurveyInviteStaff() {
        return surveyInviteStaff;
    }

    public void setSurveyInviteStaff(String surveyInviteStaff) {
        this.surveyInviteStaff = surveyInviteStaff;
    }

    public int getGcjsStatic() {
        return gcjsStatic;
    }

    public void setGcjsStatic(int gcjsStatic) {
        this.gcjsStatic = gcjsStatic;
    }

    public Integer getPendingState() {
        return pendingState;
    }

    public void setPendingState(Integer pendingState) {
        this.pendingState = pendingState;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }

    public String getPjType() {
        return pjType;
    }

    public void setPjType(String pjType) {
        this.pjType = pjType;
    }

    public String getAgentMan() {
        return agentMan;
    }

    public void setAgentMan(String agentMan) {
        this.agentMan = agentMan;
    }

    public String getAgentLinkTel() {
        return agentLinkTel;
    }

    public void setAgentLinkTel(String agentLinkTel) {
        this.agentLinkTel = agentLinkTel;
    }

    public String getAgentCertType() {
        return agentCertType;
    }

    public void setAgentCertType(String agentCertType) {
        this.agentCertType = agentCertType;
    }

    public String getAgentCertNo() {
        return agentCertNo;
    }

    public void setAgentCertNo(String agentCertNo) {
        this.agentCertNo = agentCertNo;
    }

    public String getUserCtmTempId() {
        return userCtmTempId;
    }

    public void setUserCtmTempId(String userCtmTempId) {
        this.userCtmTempId = userCtmTempId;
    }

    public String getUserAccountTempId() {
        return userAccountTempId;
    }

    public void setUserAccountTempId(String userAccountTempId) {
        this.userAccountTempId = userAccountTempId;
    }

    public String getBusinessAbode() {
        return businessAbode;
    }

    public void setBusinessAbode(String businessAbode) {
        this.businessAbode = businessAbode;
    }

    public String getBusinessArea() {
        return businessArea;
    }

    public void setBusinessArea(String businessArea) {
        this.businessArea = businessArea;
    }

    public String getAdminArea() {
        return adminArea;
    }

    public void setAdminArea(String adminArea) {
        this.adminArea = adminArea;
    }

    public String getUrgentFlag() {
        return urgentFlag;
    }

    public void setUrgentFlag(String urgentFlag) {
        this.urgentFlag = urgentFlag;
    }

    public String getOloUserNo() {
        return oloUserNo;
    }

    public void setOloUserNo(String oloUserNo) {
        this.oloUserNo = oloUserNo;
    }

    public String getSuserNo() {
        return suserNo;
    }

    public void setSuserNo(String suserNo) {
        this.suserNo = suserNo;
    }

    public String getSuserNo2() {
        return suserNo2;
    }

    public void setSuserNo2(String suserNo2) {
        this.suserNo2 = suserNo2;
    }

    public String getLimitFlag() {
        return limitFlag;
    }

    public String getConstructionCompanyForCheck() {
        return constructionCompanyForCheck;
    }

    public void setConstructionCompanyForCheck(String constructionCompanyForCheck) {
        this.constructionCompanyForCheck = constructionCompanyForCheck;
    }

    public Double getPrepaymentAmountForEnd() {
        return prepaymentAmountForEnd;
    }

    public void setPrepaymentAmountForEnd(Double prepaymentAmountForEnd) {
        this.prepaymentAmountForEnd = prepaymentAmountForEnd;
    }

    public Integer getCostTypeForEnd() {
        return costTypeForEnd;
    }

    public void setCostTypeForEnd(Integer costTypeForEnd) {
        this.costTypeForEnd = costTypeForEnd;
    }

    public Integer getInvoiceTypeForEnd() {
        return invoiceTypeForEnd;
    }

    public void setInvoiceTypeForEnd(Integer invoiceTypeForEnd) {
        this.invoiceTypeForEnd = invoiceTypeForEnd;
    }

    public Double getPrepaymentAmount() {
        return prepaymentAmount;
    }

    public Double getOtherCosts() {
        return otherCosts;
    }

    public void setOtherCosts(Double otherCosts) {
        this.otherCosts = otherCosts;
    }

    public void setPrepaymentAmount(Double prepaymentAmount) {
        this.prepaymentAmount = prepaymentAmount;
    }

    public Integer getCostType() {
        return costType;
    }

    public void setCostType(Integer costType) {
        this.costType = costType;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getConstructionCompany() {
        return constructionCompany;
    }

    public void setConstructionCompany(String constructionCompany) {
        this.constructionCompany = constructionCompany;
    }

    public String getDevelopmentCompany() {
        return developmentCompany;
    }

    public void setDevelopmentCompany(String developmentCompany) {
        this.developmentCompany = developmentCompany;
    }

    public void setLimitFlag(String limitFlag) {
        this.limitFlag = limitFlag;
    }

    public Date getLimitDate() {
        return limitDate;
    }

    public void setLimitDate(Date limitDate) {
        this.limitDate = limitDate;
    }

    public String getInstallAddr() {
        return installAddr;
    }

    public void setInstallAddr(String installAddr) {
        this.installAddr = installAddr;
    }

    public Integer getInstallAmount() {
        return installAmount;
    }

    public void setInstallAmount(Integer installAmount) {
        this.installAmount = installAmount;
    }

    public String getSourceFlag() {
        return sourceFlag;
    }

    public void setSourceFlag(String sourceFlag) {
        this.sourceFlag = sourceFlag;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getPjName() {
        return pjName;
    }

    public void setPjName(String pjName) {
        this.pjName = pjName;
    }

    public Integer getBranchRoadFlag() {
        return branchRoadFlag;
    }

    public void setBranchRoadFlag(Integer branchRoadFlag) {
        this.branchRoadFlag = branchRoadFlag;
    }

    public Integer getExceedHigh() {
        return exceedHigh;
    }

    public void setExceedHigh(Integer exceedHigh) {
        this.exceedHigh = exceedHigh;
    }

    public String getSurveyStaff() {
        return surveyStaff;
    }

    public void setSurveyStaff(String surveyStaff) {
        this.surveyStaff = surveyStaff;
    }

    public Date getSurveyInviteDate() {
        return surveyInviteDate;
    }

    public void setSurveyInviteDate(Date surveyInviteDate) {
        this.surveyInviteDate = surveyInviteDate;
    }

    public Date getSurveyDate() {
        return surveyDate;
    }

    public void setSurveyDate(Date surveyDate) {
        this.surveyDate = surveyDate;
    }

    public String getSurveyResult() {
        return surveyResult;
    }

    public void setSurveyResult(String surveyResult) {
        this.surveyResult = surveyResult;
    }

    public String getInstallStaff() {
        return installStaff;
    }

    public void setInstallStaff(String installStaff) {
        this.installStaff = installStaff;
    }

    public String getDesignStaff() {
        return designStaff;
    }

    public void setDesignStaff(String designStaff) {
        this.designStaff = designStaff;
    }

    public Date getDesignDate() {
        return designDate;
    }

    public void setDesignDate(Date designDate) {
        this.designDate = designDate;
    }

    public String getDesignDesc() {
        return designDesc;
    }

    public void setDesignDesc(String designDesc) {
        this.designDesc = designDesc;
    }

    public Double getBudgetLaborMeterBefore() {
        return budgetLaborMeterBefore;
    }

    public void setBudgetLaborMeterBefore(Double budgetLaborMeterBefore) {
        this.budgetLaborMeterBefore = budgetLaborMeterBefore;
    }

    public Double getBudgetLaborMeterAfter() {
        return budgetLaborMeterAfter;
    }

    public void setBudgetLaborMeterAfter(Double budgetLaborMeterAfter) {
        this.budgetLaborMeterAfter = budgetLaborMeterAfter;
    }

    public Double getBudgetMatrMeterBefore() {
        return budgetMatrMeterBefore;
    }

    public void setBudgetMatrMeterBefore(Double budgetMatrMeterBefore) {
        this.budgetMatrMeterBefore = budgetMatrMeterBefore;
    }

    public Double getBudgetMatrMeterAfter() {
        return budgetMatrMeterAfter;
    }

    public void setBudgetMatrMeterAfter(Double budgetMatrMeterAfter) {
        this.budgetMatrMeterAfter = budgetMatrMeterAfter;
    }

    public Double getBudgetMeterBefore() {
        return budgetMeterBefore;
    }

    public void setBudgetMeterBefore(Double budgetMeterBefore) {
        this.budgetMeterBefore = budgetMeterBefore;
    }

    public Double getBudgetMeterAfter() {
        return budgetMeterAfter;
    }

    public void setBudgetMeterAfter(Double budgetMeterAfter) {
        this.budgetMeterAfter = budgetMeterAfter;
    }

    public Double getBudgetOther() {
        return budgetOther;
    }

    public void setBudgetOther(Double budgetOther) {
        this.budgetOther = budgetOther;
    }

    public Double getBudgetCost() {
        return budgetCost;
    }

    public void setBudgetCost(Double budgetCost) {
        this.budgetCost = budgetCost;
    }

    public Double getDesignCost() {
        return designCost;
    }

    public void setDesignCost(Double designCost) {
        this.designCost = designCost;
    }

    public Double getDepositMoney() {
        return depositMoney;
    }

    public void setDepositMoney(Double depositMoney) {
        this.depositMoney = depositMoney;
    }

    public Double getBudgetMoney() {
        return budgetMoney;
    }

    public void setBudgetMoney(Double budgetMoney) {
        this.budgetMoney = budgetMoney;
    }

    public String getPrepayType() {
        return prepayType;
    }

    public void setPrepayType(String prepayType) {
        this.prepayType = prepayType;
    }

    public String getBudgetStaff() {
        return budgetStaff;
    }

    public void setBudgetStaff(String budgetStaff) {
        this.budgetStaff = budgetStaff;
    }

    public Date getBudgetDate() {
        return budgetDate;
    }

    public void setBudgetDate(Date budgetDate) {
        this.budgetDate = budgetDate;
    }

    public String getBudgetComments() {
        return budgetComments;
    }

    public void setBudgetComments(String budgetComments) {
        this.budgetComments = budgetComments;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getProcessState() {
        return processState;
    }

    public void setProcessState(String processState) {
        this.processState = processState;
    }

    public String getProcessStateTerminated() {
        return processStateTerminated;
    }

    public void setProcessStateTerminated(String processStateTerminated) {
        this.processStateTerminated = processStateTerminated;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessHandleMan() {
        return processHandleMan;
    }

    public void setProcessHandleMan(String processHandleMan) {
        this.processHandleMan = processHandleMan;
    }

    public String getCreditCode() {
        return creditCode;
    }

    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    public String getCellName() {
        return cellName;
    }

    public void setCellName(String cellName) {
        this.cellName = cellName;
    }

    public Integer getPredictWater() {
        return predictWater;
    }

    public void setPredictWater(Integer predictWater) {
        this.predictWater = predictWater;
    }

    public String getWxOpenId() {
        return wxOpenId;
    }

    public void setWxOpenId(String wxOpenId) {
        this.wxOpenId = wxOpenId;
    }

    public String getWtAccount() {
        return wtAccount;
    }

    public void setWtAccount(String wtAccount) {
        this.wtAccount = wtAccount;
    }

    public Integer getBudgetPayWay() {
        return budgetPayWay;
    }

    public void setBudgetPayWay(Integer budgetPayWay) {
        this.budgetPayWay = budgetPayWay;
    }

    public String getBudgetPayWayName() {
        return budgetPayWayName;
    }

    public void setBudgetPayWayName(String budgetPayWayName) {
        this.budgetPayWayName = budgetPayWayName;
    }

    public String getBudgetPayStaff() {
        return budgetPayStaff;
    }

    public void setBudgetPayStaff(String budgetPayStaff) {
        this.budgetPayStaff = budgetPayStaff;
    }

    public Date getBudgetPayDate() {
        return budgetPayDate;
    }

    public void setBudgetPayDate(Date budgetPayDate) {
        this.budgetPayDate = budgetPayDate;
    }

    public String getBudgetPayComments() {
        return budgetPayComments;
    }

    public void setBudgetPayComments(String budgetPayComments) {
        this.budgetPayComments = budgetPayComments;
    }

    public Double getActuallyReceived() {
        return actuallyReceived;
    }

    public void setActuallyReceived(Double actuallyReceived) {
        this.actuallyReceived = actuallyReceived;
    }

    public String getChannelsOfOrigin() {
        return channelsOfOrigin;
    }

    public void setChannelsOfOrigin(String channelsOfOrigin) {
        this.channelsOfOrigin = channelsOfOrigin;
    }

    public String getProjectCharge() {
        return projectCharge;
    }

    public void setProjectCharge(String projectCharge) {
        this.projectCharge = projectCharge;
    }

    public String getProjectChargeName() {
        return projectChargeName;
    }

    public void setProjectChargeName(String projectChargeName) {
        this.projectChargeName = projectChargeName;
    }

    public String getConstructionUnit() {
        return constructionUnit;
    }

    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public String getLegalPersonCertNo() {
        return legalPersonCertNo;
    }

    public void setLegalPersonCertNo(String legalPersonCertNo) {
        this.legalPersonCertNo = legalPersonCertNo;
    }

    public String getPjNature() {
        return pjNature;
    }

    public void setPjNature(String pjNature) {
        this.pjNature = pjNature;
    }

    public Integer getMeterNum() {
        return meterNum;
    }

    public void setMeterNum(Integer meterNum) {
        this.meterNum = meterNum;
    }

    public String getDepartBelong() {
        return departBelong;
    }

    public void setDepartBelong(String departBelong) {
        this.departBelong = departBelong;
    }

    public Integer getWorkFlag() {
        return workFlag;
    }

    public void setWorkFlag(Integer workFlag) {
        this.workFlag = workFlag;
    }

    public Integer getDesignFlag() {
        return designFlag;
    }

    public void setDesignFlag(Integer designFlag) {
        this.designFlag = designFlag;
    }

    public Date getSendOrderDate() {
        return sendOrderDate;
    }

    public void setSendOrderDate(Date sendOrderDate) {
        this.sendOrderDate = sendOrderDate;
    }

    public String getConstGroup() {
        return constGroup;
    }

    public void setConstGroup(String constGroup) {
        this.constGroup = constGroup;
    }

    public String getConstGroupName() {
        return constGroupName;
    }

    public void setConstGroupName(String constGroupName) {
        this.constGroupName = constGroupName;
    }

    public Date getConstBeginDate() {
        return constBeginDate;
    }

    public void setConstBeginDate(Date constBeginDate) {
        this.constBeginDate = constBeginDate;
    }

    public Date getConstEndDate() {
        return constEndDate;
    }

    public void setConstEndDate(Date constEndDate) {
        this.constEndDate = constEndDate;
    }

    public Date getNewConstEndDate() {
        return newConstEndDate;
    }

    public void setNewConstEndDate(Date newConstEndDate) {
        this.newConstEndDate = newConstEndDate;
    }

    public String getConstComments() {
        return constComments;
    }

    public void setConstComments(String constComments) {
        this.constComments = constComments;
    }

    public String getCheckInviteStaff() {
        return checkInviteStaff;
    }

    public void setCheckInviteStaff(String checkInviteStaff) {
        this.checkInviteStaff = checkInviteStaff;
    }

    public String getCheckInviteStaffName() {
        return checkInviteStaffName;
    }

    public void setCheckInviteStaffName(String checkInviteStaffName) {
        this.checkInviteStaffName = checkInviteStaffName;
    }

    public String getCheckInviteDate() {
        return checkInviteDate;
    }

    public void setCheckInviteDate(String checkInviteDate) {
        this.checkInviteDate = checkInviteDate;
    }

    public String getCheckDesc() {
        return checkDesc;
    }

    public void setCheckDesc(String checkDesc) {
        this.checkDesc = checkDesc;
    }

    public Double getPjRate() {
        return pjRate;
    }

    public void setPjRate(Double pjRate) {
        this.pjRate = pjRate;
    }

    public Double getMatrRate() {
        return matrRate;
    }

    public void setMatrRate(Double matrRate) {
        this.matrRate = matrRate;
    }

    public Double getWordRate() {
        return wordRate;
    }

    public void setWordRate(Double wordRate) {
        this.wordRate = wordRate;
    }

    public Double getMatrCharge() {
        return matrCharge;
    }

    public void setMatrCharge(Double matrCharge) {
        this.matrCharge = matrCharge;
    }

    public Double getWorkCharge() {
        return workCharge;
    }

    public void setWorkCharge(Double workCharge) {
        this.workCharge = workCharge;
    }

    public Double getSumCharge() {
        return sumCharge;
    }

    public void setSumCharge(Double sumCharge) {
        this.sumCharge = sumCharge;
    }

    public Double getSetmtLaborMeterBefore() {
        return setmtLaborMeterBefore;
    }

    public void setSetmtLaborMeterBefore(Double setmtLaborMeterBefore) {
        this.setmtLaborMeterBefore = setmtLaborMeterBefore;
    }

    public Double getSetmtLaborMeterAfter() {
        return setmtLaborMeterAfter;
    }

    public void setSetmtLaborMeterAfter(Double setmtLaborMeterAfter) {
        this.setmtLaborMeterAfter = setmtLaborMeterAfter;
    }

    public Double getSetmtMatrMeterBefore() {
        return setmtMatrMeterBefore;
    }

    public void setSetmtMatrMeterBefore(Double setmtMatrMeterBefore) {
        this.setmtMatrMeterBefore = setmtMatrMeterBefore;
    }

    public Double getSetmtMatrMeterAfter() {
        return setmtMatrMeterAfter;
    }

    public void setSetmtMatrMeterAfter(Double setmtMatrMeterAfter) {
        this.setmtMatrMeterAfter = setmtMatrMeterAfter;
    }

    public Double getConstructionCost() {
        return constructionCost;
    }

    public void setConstructionCost(Double constructionCost) {
        this.constructionCost = constructionCost;
    }

    public Double getSetmtBudgetCost() {
        return setmtBudgetCost;
    }

    public void setSetmtBudgetCost(Double setmtBudgetCost) {
        this.setmtBudgetCost = setmtBudgetCost;
    }

    public Double getSetmtDesignCost() {
        return setmtDesignCost;
    }

    public void setSetmtDesignCost(Double setmtDesignCost) {
        this.setmtDesignCost = setmtDesignCost;
    }

    public Integer getSetmtBudgetCostFlag() {
        return setmtBudgetCostFlag;
    }

    public void setSetmtBudgetCostFlag(Integer setmtBudgetCostFlag) {
        this.setmtBudgetCostFlag = setmtBudgetCostFlag;
    }

    public Integer getSetmtDesignCostFlag() {
        return setmtDesignCostFlag;
    }

    public void setSetmtDesignCostFlag(Integer setmtDesignCostFlag) {
        this.setmtDesignCostFlag = setmtDesignCostFlag;
    }

    public Integer getDepositBackFlag() {
        return depositBackFlag;
    }

    public void setDepositBackFlag(Integer depositBackFlag) {
        this.depositBackFlag = depositBackFlag;
    }

    public Double getCostShare() {
        return costShare;
    }

    public void setCostShare(Double costShare) {
        this.costShare = costShare;
    }

    public Double getSetmtMoney() {
        return setmtMoney;
    }

    public void setSetmtMoney(Double setmtMoney) {
        this.setmtMoney = setmtMoney;
    }

    public Double getAccruedMoney() {
        return accruedMoney;
    }

    public void setAccruedMoney(Double accruedMoney) {
        this.accruedMoney = accruedMoney;
    }

    public Double getBackFillMoney() {
        return backFillMoney;
    }

    public void setBackFillMoney(Double backFillMoney) {
        this.backFillMoney = backFillMoney;
    }

    public String getSetmtStaff() {
        return setmtStaff;
    }

    public void setSetmtStaff(String setmtStaff) {
        this.setmtStaff = setmtStaff;
    }

    public Date getSetmtDate() {
        return setmtDate;
    }

    public void setSetmtDate(Date setmtDate) {
        this.setmtDate = setmtDate;
    }

    public String getSetmtComments() {
        return setmtComments;
    }

    public void setSetmtComments(String setmtComments) {
        this.setmtComments = setmtComments;
    }

    public String getSetmtPayWay() {
        return setmtPayWay;
    }

    public void setSetmtPayWay(String setmtPayWay) {
        this.setmtPayWay = setmtPayWay;
    }

    public String getSetmtPayStaff() {
        return setmtPayStaff;
    }

    public void setSetmtPayStaff(String setmtPayStaff) {
        this.setmtPayStaff = setmtPayStaff;
    }

    public Date getSetmtPayDate() {
        return setmtPayDate;
    }

    public void setSetmtPayDate(Date setmtPayDate) {
        this.setmtPayDate = setmtPayDate;
    }

    public String getSetmtPayComments() {
        return setmtPayComments;
    }

    public void setSetmtPayComments(String setmtPayComments) {
        this.setmtPayComments = setmtPayComments;
    }

    public String getRefundWay() {
        return refundWay;
    }

    public void setRefundWay(String refundWay) {
        this.refundWay = refundWay;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankAccountName() {
        return bankAccountName;
    }

    public void setBankAccountName(String bankAccountName) {
        this.bankAccountName = bankAccountName;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public Integer getDelayDays() {
        return delayDays;
    }

    public void setDelayDays(Integer delayDays) {
        this.delayDays = delayDays;
    }

    public String getCompletionDate() {
        return completionDate;
    }

    public void setCompletionDate(String completionDate) {
        this.completionDate = completionDate;
    }

    public String getTempId() {
        return tempId;
    }

    public void setTempId(String tempId) {
        this.tempId = tempId;
    }

    public Integer getLockFlag() {
        return lockFlag;
    }

    public void setLockFlag(Integer lockFlag) {
        this.lockFlag = lockFlag;
    }

    public String getBeforeMeterLength() {
        return beforeMeterLength;
    }

    public void setBeforeMeterLength(String beforeMeterLength) {
        this.beforeMeterLength = beforeMeterLength;
    }

    public String getAgentCertTypeName() {
        return agentCertTypeName;
    }

    public void setAgentCertTypeName(String agentCertTypeName) {
        this.agentCertTypeName = agentCertTypeName;
    }

    public String getPrepayTypeName() {
        return prepayTypeName;
    }

    public void setPrepayTypeName(String prepayTypeName) {
        this.prepayTypeName = prepayTypeName;
    }

    public Double getRedLineInMoney() {
        return redLineInMoney;
    }

    public void setRedLineInMoney(Double redLineInMoney) {
        this.redLineInMoney = redLineInMoney;
    }

    public Double getRedLineOutMoney() {
        return redLineOutMoney;
    }

    public void setRedLineOutMoney(Double redLineOutMoney) {
        this.redLineOutMoney = redLineOutMoney;
    }

    public Double getUtensilMoney() {
        return utensilMoney;
    }

    public void setUtensilMoney(Double utensilMoney) {
        this.utensilMoney = utensilMoney;
    }

    public String getInstallStaffName() {
        return installStaffName;
    }

    public void setInstallStaffName(String installStaffName) {
        this.installStaffName = installStaffName;
    }

    public String getSurveyStaffName() {
        return surveyStaffName;
    }

    public void setSurveyStaffName(String surveyStaffName) {
        this.surveyStaffName = surveyStaffName;
    }

    public String getDesignStaffName() {
        return designStaffName;
    }

    public void setDesignStaffName(String designStaffName) {
        this.designStaffName = designStaffName;
    }

    public String getBudgetStaffName() {
        return budgetStaffName;
    }

    public void setBudgetStaffName(String budgetStaffName) {
        this.budgetStaffName = budgetStaffName;
    }

    public String getBudgetPayStaffName() {
        return budgetPayStaffName;
    }

    public void setBudgetPayStaffName(String budgetPayStaffName) {
        this.budgetPayStaffName = budgetPayStaffName;
    }

    public Double getPrepayMoney() {
        return prepayMoney;
    }

    public void setPrepayMoney(Double prepayMoney) {
        this.prepayMoney = prepayMoney;
    }

    public String getPjTypeName() {
        return pjTypeName;
    }

    public void setPjTypeName(String pjTypeName) {
        this.pjTypeName = pjTypeName;
    }

    public String getUrgentFlagName() {
        return urgentFlagName;
    }

    public void setUrgentFlagName(String urgentFlagName) {
        this.urgentFlagName = urgentFlagName;
    }

    public String getSourceFlagName() {
        return sourceFlagName;
    }

    public void setSourceFlagName(String sourceFlagName) {
        this.sourceFlagName = sourceFlagName;
    }

    public String getLimitFlagName() {
        return limitFlagName;
    }

    public void setLimitFlagName(String limitFlagName) {
        this.limitFlagName = limitFlagName;
    }

    public String getAdminAreaName() {
        return adminAreaName;
    }

    public void setAdminAreaName(String adminAreaName) {
        this.adminAreaName = adminAreaName;
    }

    public String getBusinessAreaName() {
        return businessAreaName;
    }

    public void setBusinessAreaName(String businessAreaName) {
        this.businessAreaName = businessAreaName;
    }

    public String getBusinessAbodeName() {
        return businessAbodeName;
    }

    public void setBusinessAbodeName(String businessAbodeName) {
        this.businessAbodeName = businessAbodeName;
    }

    public String getMeterBore() {
        return meterBore;
    }

    public void setMeterBore(String meterBore) {
        this.meterBore = meterBore;
    }

    public String getMeterBoreName() {
        return meterBoreName;
    }

    public void setMeterBoreName(String meterBoreName) {
        this.meterBoreName = meterBoreName;
    }

    public String geteSignatureUrl() {
        return eSignatureUrl;
    }

    public void seteSignatureUrl(String eSignatureUrl) {
        this.eSignatureUrl = eSignatureUrl;
    }

    public Date getMeterHookDate() {
        return meterHookDate;
    }

    public void setMeterHookDate(Date meterHookDate) {
        this.meterHookDate = meterHookDate;
    }

    public String getMeterHookComment() {
        return meterHookComment;
    }

    public void setMeterHookComment(String meterHookComment) {
        this.meterHookComment = meterHookComment;
    }

    public Integer getSettlementFlag() {
        return settlementFlag;
    }

    public void setSettlementFlag(Integer settlementFlag) {
        this.settlementFlag = settlementFlag;
    }

    public Integer getDisposableChargeFlag() {
        return disposableChargeFlag;
    }

    public void setDisposableChargeFlag(Integer disposableChargeFlag) {
        this.disposableChargeFlag = disposableChargeFlag;
    }

    public Integer getRedLineConstruction() {
        return redLineConstruction;
    }

    public void setRedLineConstruction(Integer redLineConstruction) {
        this.redLineConstruction = redLineConstruction;
    }

    public String getRedLineConstructionName() {
        return redLineConstructionName;
    }

    public void setRedLineConstructionName(String redLineConstructionName) {
        this.redLineConstructionName = redLineConstructionName;
    }

    public Integer getTerminationFlag() {
        return terminationFlag;
    }

    public void setTerminationFlag(Integer terminationFlag) {
        this.terminationFlag = terminationFlag;
    }

    public Integer getRegisterAccountRejectFlag() {
        return registerAccountRejectFlag;
    }

    public void setRegisterAccountRejectFlag(Integer registerAccountRejectFlag) {
        this.registerAccountRejectFlag = registerAccountRejectFlag;
    }

    public Integer getDelayFlag() {
        return delayFlag;
    }

    public void setDelayFlag(Integer delayFlag) {
        this.delayFlag = delayFlag;
    }

    public Integer getDelayState() {
        return delayState;
    }

    public void setDelayState(Integer delayState) {
        this.delayState = delayState;
    }

    public Integer getTimeOutFlag() {
        return timeOutFlag;
    }

    public void setTimeOutFlag(Integer timeOutFlag) {
        this.timeOutFlag = timeOutFlag;
    }

    public Integer getOverruleFlag() {
        return overruleFlag;
    }

    public void setOverruleFlag(Integer overruleFlag) {
        this.overruleFlag = overruleFlag;
    }

    public String getRejectionReason() {
        return rejectionReason;
    }

    public void setRejectionReason(String rejectionReason) {
        this.rejectionReason = rejectionReason;
    }

    public Integer getInsertFlag() {
        return insertFlag;
    }

    public void setInsertFlag(Integer insertFlag) {
        this.insertFlag = insertFlag;
    }

    public List<PjCheckInfoBean> getCheckInfo() {
        return checkInfo;
    }

    public void setCheckInfo(List<PjCheckInfoBean> checkInfo) {
        this.checkInfo = checkInfo;
    }

    public Date getPlanTime() {
        return planTime;
    }

    public void setPlanTime(Date planTime) {
        this.planTime = planTime;
    }

    public int getPlanSum() {
        return planSum;
    }

    public void setPlanSum(int planSum) {
        this.planSum = planSum;
    }

    public int getUsedSum() {
        return usedSum;
    }

    public void setUsedSum(int usedSum) {
        this.usedSum = usedSum;
    }

    public Integer getWorkDays() {
        return workDays;
    }

    public void setWorkDays(Integer workDays) {
        this.workDays = workDays;
    }

    public Integer getWorkHours() {
        return workHours;
    }

    public void setWorkHours(Integer workHours) {
        this.workHours = workHours;
    }

    public Integer getIsInvoice() {
        return isInvoice;
    }

    public void setIsInvoice(Integer isInvoice) {
        this.isInvoice = isInvoice;
    }
}
